package org.fioma.tree.suffixTree.memory;

public interface Memory {

	public long allocMemoryInternalNode();

	public long allocMemoryLeafNode();

	public long getCursor();

	public long getParentAddress(long pos);

	public int getLabelIndex(long pos);

	public int getLabelStart(long pos);

	public int getLabelLength(long pos);

	public long getChildAddress(long pos, byte letter);

	public long[] getChildsAddresses(long pos);

	public void setParentAddress(long pos, long parentPos);

	public void setLabelIndex(long pos, int index);

	public void setLabelStart(long pos, int start);

	public void setLabelLength(long pos, int length);

	public void setChildAddress(long pos, byte letter, long childPos);

	public boolean isLeaf(long pos);

}
